//
//  WelcomeViewController.swift
//  Weibo
//
//  Created by mac on 15/11/29.
//  Copyright © 2015年 zsl. All rights reserved.
//

import UIKit
import SnapKit

class WelcomeViewController: UIViewController {
    
    //替换根视图
    override func loadView() {
        view = backImage
    }

    override func viewDidLoad() {
        super.viewDidLoad()
       
        setupUI()
        
    }
    
    
    //动画效果建议在 ViewDidAppear方法中执行
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        
        startAnimation()
    }
    
     //mark:============设置控件的动画效果==========
    private func startAnimation(){
        
        /*
        使用自动布局 设置动画效果 需要注意
        1.所有设置自动布局的空间 在添加动画效果的时候  不要直接设置 frame
        原因:
        1.自动布局系统 会根据设置的约束  自动计算空间的frame
        2.在layoutsubViews方法中给所有的子控件 根据设置好的约束  修改相应的frame值
        3.如果主动修改frame  会引起自动布局系统计算错误
        
        每一次运行循环的开启  自动布局系统都会 '收集' 所有控件约束的变化
        在运行循环结束前 调用 layoutsubViews 统一一次性 将所有收集到的变化 进行更新
        
        如果希望提前更新  就需要调用强制刷新布局方法 layoutIfNeeded
        */
        
        
        //提前更改约束 \  //对于已经添加过的约束 属性 需要修改  可以使用snp_updateConstraints
        let offest = -screenH + 180
        iconImage.snp_updateConstraints { (make) -> Void in
            
            make.bottom.equalTo(self.view.snp_bottom).offset(offest)
        }
        UIView.animateWithDuration(1.5, delay: 0, usingSpringWithDamping: 0.98, initialSpringVelocity: 9.8, options: [], animations: { () -> Void in
            
            //强制提前刷新页面
            self.view.layoutIfNeeded()
            
            }) { (_) -> Void in
                
                print("OK")
        }

    }

    
     //mark:------------布局控件视图----------------
    private func setupUI(){
        
        //添加视图
        view.addSubview(iconImage)
        view.addSubview(welcomeLabel)
        
        //布局
     iconImage.snp_makeConstraints { (make) -> Void in
        make.centerX.equalTo(view.snp_centerX)
        make.bottom.equalTo(view.snp_bottom).offset(-180)
        
        }
        welcomeLabel.snp_makeConstraints { (make) -> Void in
            
            make.top.equalTo(iconImage.snp_bottom).offset(16)
            make.centerX.equalTo(iconImage.snp_centerX)
        }
        
        
    }
    
     //mark:----------------------------懒加载视图控件----------------------
    private lazy var backImage: UIImageView = UIImageView(image: UIImage(named: "ad_background"))
    private lazy var iconImage : UIImageView = UIImageView(image: UIImage(named: "avatar_default_big"))
    private lazy var welcomeLabel: UILabel = {
        
        let label = UILabel()
        label.text = (UserAccountViewModel().userName ?? "") + "欢迎归来"//为什么我拿不到userName
        label.textColor = UIColor.darkGrayColor()
        label.font = UIFont.systemFontOfSize(18)
        label.sizeToFit()
        return label
    }()
}
